package com.len.service;

import com.len.vo.ColsVo;
import com.len.vo.ParameterInfo;

import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * @author songxiangyang
 * @date 2019/03/15.
 */
public interface ReportService {

  public List<Map<String, String>> getReportMeasureByReportId(String reportId);

  /**
   * 拼接sql
   * @param parameterInfo
   * @return
   * @throws IOException
   */
  public List<LinkedHashMap<Object,Object>> getTableData(ParameterInfo parameterInfo) throws IOException;

  /**
   * 获取QueryBuilder数据
   * @param reportId
   * @return
   */
  public List<Map<String,Object>> getQueryBuilderByReportId(String reportId);

  /**
   * 获取table数据cols
   * @param info
   * @return
   */
  List<ColsVo> getTableCols(ParameterInfo info);

  /**
   * 获取chart数据
   * @param parameterInfo
   * @return
   * @throws IOException
   */
  String getLineChartsData(ParameterInfo parameterInfo);

  /**
   * 获取字符云chart数据
   * @param parameterInfo
   * @return
   * @throws IOException
   */
  String getCloudChartsData(ParameterInfo parameterInfo);

//  Map<String,Object> getDiffTableData(ParameterInfo info);
}
